{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "from keras.models import Model\n",
    "from keras.layers import Flatten, Dense, Dropout, Reshape, Activation, Input\n",
    "from keras.layers.convolutional import Conv2D, MaxPooling2D\n",
    "from keras.preprocessing import image\n",
    "from keras.callbacks import EarlyStopping\n",
    "from keras import optimizers\n",
    "from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<bound method Tensor.get_shape of <tf.Tensor 'conv1_1/Relu:0' shape=(?, 56, 56, 96) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'pool1_1/MaxPool:0' shape=(?, 27, 27, 96) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'conv2_1/Relu:0' shape=(?, 27, 27, 256) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'pool2_1/MaxPool:0' shape=(?, 13, 13, 256) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'conv3_1/Relu:0' shape=(?, 13, 13, 384) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'conv4_1/Relu:0' shape=(?, 13, 13, 384) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'conv5_1/Relu:0' shape=(?, 13, 13, 256) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'pool5_1/MaxPool:0' shape=(?, 4, 4, 256) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'fc1_1/Relu:0' shape=(?, 4096) dtype=float32>>\n",
      "<bound method Tensor.get_shape of <tf.Tensor 'fc2_1/Relu:0' shape=(?, 4096) dtype=float32>>\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "input_2 (InputLayer)         (None, 224, 224, 3)       0         \n",
      "_________________________________________________________________\n",
      "conv1 (Conv2D)               (None, 56, 56, 96)        34944     \n",
      "_________________________________________________________________\n",
      "pool1 (MaxPooling2D)         (None, 27, 27, 96)        0         \n",
      "_________________________________________________________________\n",
      "conv2 (Conv2D)               (None, 27, 27, 256)       614656    \n",
      "_________________________________________________________________\n",
      "pool2 (MaxPooling2D)         (None, 13, 13, 256)       0         \n",
      "_________________________________________________________________\n",
      "conv3 (Conv2D)               (None, 13, 13, 384)       885120    \n",
      "_________________________________________________________________\n",
      "conv4 (Conv2D)               (None, 13, 13, 384)       1327488   \n",
      "_________________________________________________________________\n",
      "conv5 (Conv2D)               (None, 13, 13, 256)       884992    \n",
      "_________________________________________________________________\n",
      "pool5 (MaxPooling2D)         (None, 4, 4, 256)         0         \n",
      "_________________________________________________________________\n",
      "flatten (Flatten)            (None, 4096)              0         \n",
      "_________________________________________________________________\n",
      "fc1 (Dense)                  (None, 4096)              16781312  \n",
      "_________________________________________________________________\n",
      "fc2 (Dense)                  (None, 4096)              16781312  \n",
      "_________________________________________________________________\n",
      "predictions (Dense)          (None, 1)                 4097      \n",
      "=================================================================\n",
      "Total params: 37,313,921.0\n",
      "Trainable params: 37,313,921.0\n",
      "Non-trainable params: 0.0\n",
      "_________________________________________________________________\n",
      "None\n"
     ]
    }
   ],
   "source": [
    "input_shape=(224, 224, 3)\n",
    "\n",
    "# Input Layer\n",
    "img_input = Input(shape=input_shape)\n",
    "\n",
    "# Layer1\n",
    "conv1 = Conv2D(96, (11, 11), strides=(4,4), activation=\"relu\", name=\"conv1\", padding=\"same\")(img_input)\n",
    "pool1 = MaxPooling2D((3, 3), strides=(2, 2), name='pool1')(conv1)\n",
    "print(conv1.get_shape)\n",
    "print(pool1.get_shape)\n",
    "\n",
    "# Layer2\n",
    "conv2 = Conv2D(256, (5, 5), activation=\"relu\", name=\"conv2\", padding=\"same\")(pool1)\n",
    "pool2 = MaxPooling2D((3, 3), strides=(2, 2), name='pool2')(conv2)\n",
    "print(conv2.get_shape)\n",
    "print(pool2.get_shape)\n",
    "\n",
    "# Layer3,4\n",
    "conv3 = Conv2D(384, (3, 3), activation=\"relu\", name=\"conv3\", padding=\"same\")(pool2)\n",
    "conv4 = Conv2D(384, (3, 3), activation=\"relu\", name=\"conv4\", padding=\"same\")(conv3)\n",
    "print(conv3.get_shape)\n",
    "print(conv4.get_shape)\n",
    "\n",
    "# Layer5\n",
    "conv5 = Conv2D(256, (3, 3), activation=\"relu\", name=\"conv5\", padding=\"same\")(conv4)\n",
    "pool5 = MaxPooling2D((3, 3), strides=(3, 3), name='pool5')(conv5)\n",
    "print(conv5.get_shape)\n",
    "print(pool5.get_shape)\n",
    "\n",
    "# Layer6,7\n",
    "pool5 = Flatten(name='flatten')(pool5)\n",
    "fc1 = Dense(4096, activation='relu', name='fc1')(pool5)\n",
    "fc2 = Dense(4096, activation='relu', name='fc2')(fc1)\n",
    "print(fc1.get_shape)\n",
    "print(fc2.get_shape)\n",
    "\n",
    "# Output Layer\n",
    "otuput = Dense(1, activation='softmax', name='predictions')(fc2)\n",
    "\n",
    "model = Model(img_input, otuput)\n",
    "\n",
    "# 优化算法使用 随机梯度下降\n",
    "sgd = optimizers.SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)\n",
    "\n",
    "model.compile(loss='binary_crossentropy',\n",
    "              optimizer='rmsprop',\n",
    "              metrics=['accuracy'])\n",
    "\n",
    "print(model.summary())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found 2000 images belonging to 2 classes.\n",
      "Found 800 images belonging to 2 classes.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "batch_size = 16\n",
    "\n",
    "train_datagen = ImageDataGenerator(\n",
    "        rescale=1./255,\n",
    "        shear_range=0.2,\n",
    "        zoom_range=0.2,\n",
    "        horizontal_flip=True)\n",
    "\n",
    "test_datagen = ImageDataGenerator(rescale=1./255)\n",
    "\n",
    "train_generator = train_datagen.flow_from_directory(\n",
    "        'CatDogData/train', \n",
    "        target_size=(224, 224),  \n",
    "        batch_size=batch_size,\n",
    "        class_mode='binary')\n",
    "\n",
    "validation_generator = test_datagen.flow_from_directory(\n",
    "        'CatDogData/validation',\n",
    "        target_size=(224, 224),\n",
    "        batch_size=batch_size,\n",
    "        class_mode='binary')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/50\n",
      "125/125 [==============================] - 458s - loss: 7.9712 - acc: 0.5000 - val_loss: 7.9712 - val_acc: 0.5000\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\n",
      "Epoch 2/50\n",
      "125/125 [==============================] - 456s - loss: 7.9712 - acc: 0.5000 - val_loss: 7.9712 - val_acc: 0.5000\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\n",
      "Epoch 3/50\n",
      " 13/125 [==>...........................] - ETA: 369s - loss: 7.5113 - acc: 0.5288\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"
     ]
    }
   ],
   "source": [
    "#使用early stopping返回最佳epoch对应的model\n",
    "early_stopping = EarlyStopping(monitor='val_loss', patience=1)\n",
    "\n",
    "history_callback = model.fit_generator(\n",
    "    train_generator,\n",
    "    epochs=50,\n",
    "    steps_per_epoch=2000 // batch_size,\n",
    "    validation_data=validation_generator,\n",
    "    validation_steps=800 // batch_size)\n",
    "\n",
    "pandas.DataFrame(history_callback.history).to_csv(\"./AlexNet_model.csv\")\n",
    "model.save_weights('./AlexNet_model.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "model.load_weights('AlexNet_model.h5')\n",
    "predict = model.predict(data[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1108cdda0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import pandas\n",
    "import numpy as np\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.figure(figsize=(10,4))\n",
    "column_names = ['Nan', 'loss', 'acc', 'val_loss', 'val_acc']\n",
    "df = pandas.read_csv('./AlexNet_model_fineturn.csv', header=None, names=column_names)\n",
    "\n",
    "def plot_performance(history):\n",
    "    '''\n",
    "    This function plots the train & test accuracy, loss plots\n",
    "    '''    \n",
    "    plt.subplot(1,2,1)\n",
    "    plt.plot(history['acc'][1:])\n",
    "    plt.plot(history['val_acc'][1:])\n",
    "    plt.title('Accuracy')\n",
    "    plt.ylabel('Accuracy')\n",
    "    plt.xlabel('Epoch')\n",
    "    ax = plt.gca()\n",
    "    ax.set_ylim([0.1, 1])\n",
    "    plt.legend(['train', 'val'], loc='upper left') \n",
    "\n",
    "    plt.subplot(1,2,2)\n",
    "    plt.plot(history['loss'][1:])\n",
    "    plt.plot(history['val_loss'][1:])\n",
    "    plt.title('Loss')\n",
    "    plt.ylabel('Loss')\n",
    "    plt.xlabel('Epoch')\n",
    "    ax = plt.gca()\n",
    "    ax.set_ylim([0.1, 1])\n",
    "    plt.legend(['train', 'val'], loc='upper left')\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "plot_performance(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
